<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <title>amis demo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta
            name="viewport"
            content="width=device-width, initial-scale=1, maximum-scale=1"
    />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <link rel="stylesheet" href="sdk.css" />
    <link rel="stylesheet" href="helper.css" />
    <link rel="stylesheet" href="iconfont.css" />
    <!-- 这是默认主题所需的，如果是其他主题则不需要 -->
    <!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11，如果要支持 IE11 请引用这个 css，并把前面那个删了 -->
    <!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
    <!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果，所以可能有细节功能用不了，如果发现请报 issue -->
    <style>
        html,
        body,
        .app-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
<div id="root" class="app-wrapper">

</div>
<script src="sdk.js"></script>
<script type="text/javascript">
    (function () {
        let amis = amisRequire('amis/embed');
        // 通过替换下面这个配置来生成不同页面
        let amisJSON = {
            type: 'page',
            title: '表单页面',
            body: {
                "type": "form",
                "name":"sqlform",
                "debug":true,
                "mode": "horizontal",
                "api":{
                    url:"http://localhost:8080/jeecg-boot/sql2amis/sql2amisform/changeSql",
                    type:"post",
                    data:{
                        'query':"${sql}",
                        "dbid":"${id}",
                        "formname":"${formname}"
                    }
                },
                "initApi": "http://localhost:8080/jeecg-boot/sql2amis/sql2amisdb/queryById?id=${id}",
                "body": [
                    {
                        "type": "input-text",
                        "name": "formname",
                        "label": "名称"
                    },
                    {
                        "type": "grid",
                        "className": "b-a bg-dark lter",
                        "columns": [
                            {
                                "md": 9
                            },
                            {
                                "md": 3,
                                "body":[{
                                    type:"hbox",
                                    columns:[
                                        {
                                            "label": "insert",
                                            "className":"mr-1",
                                            "type": "button",
                                            "actionType":"ajax",

                                            "onClick": function(e,props){
                                                props.formStore.setValues({sql: 'insert into () value()'});
                                            }
                                        },
                                        {
                                            "label": "select",
                                            "className":"mr-1",
                                            "type": "button",
                                            "onClick": function(e,props){
                                                props.formStore.setValues({sql: 'insert into () value()'});
                                            }
                                        },
                                        {
                                            "label": "delete",
                                            "className":"mr-1",
                                            "type": "button",
                                            "onClick": function(e,props){
                                                props.formStore.setValues({sql: 'insert into () value()'});
                                            }
                                        }

                                    ]
                                }]
                            }
                        ]
                    },
                    {
                        "type": "static",
                        "name": "dbname",
                        "label": "数据库名称"
                    },
                    {
                        "type": "static",
                        "name": "dbname",
                        "label": "数据库名称"
                    },
                    {
                        "type": "static",
                        "name": "info",
                        "text":"select * from user where user_id = \\${user_id}\n传入参数就是\\${user_id}",
                        "label": ""
                    },
                    {
                        "type": "editor",
                        "name": "sql",
                        "label": "sql编辑器",
                        "language": "sql"
                    }
                ]
            }
        }
   ;
        let amisScoped = amis.embed('#root', amisJSON,{},
            {
            requestAdaptor:function(api){
                return {
                    ...api,
                    headers:{
                        'X-Access-Token':localStorage.getItem("token"),
                    }
                };
            },
            responseAdaptor:function(api, response, query, request){
                if(response.hasOwnProperty("code")){
                    response.status = response.code;
                    if( response.status == '200'){
                        response.status = '0';
                    }
                }
                if(response.hasOwnProperty("result")) {
                    response.data = response.result;
                    response.result = null;
                }
                if(response.hasOwnProperty("message")) {
                    response.msg = response.message;
                }
                return response;
            },
        });
    })();
</script>
</body>
</html>
